Skip to content

Conversation

@KrystalDelusion
Copy link
Member

@KrystalDelusion KrystalDelusion commented Aug 18, 2025

What are the reasons/motivation for this change?

#5280 had two failing jobs CI on merge and was reverted.

  1. The test-cells job was added in Updating test_cell #5024 based on the old reusable build cache name (i.e. including sanitizer). This was merged after Workflow adjustments #5280 was written, but it didn't trigger a merge conflict so I forgot to update the PR to catch that one.
  2. run-san worked fine when it was part of the test-build.yml where it had separate build and test jobs, with the build job using an out-of-tree build. When I moved it into test-sanitizers.yml I merged the build and test jobs, but didn't account for the out-of-tree build.
  3. While investigating, I also noticed that the iverilog cache key has been broken since CI: Fixes from zizmor #5016. It was changed to use shell expansion, but it wasn't running in a shell and was instead an action variable.

Explain how this is achieved.

  1. Drop the sanitizer from test-cells.
  2. Change run-san to build Yosys in-tree.
  3. Write IVERILOG_GIT to output instead of env, so we can expand it without worrying about environment variable vulnerabilities.

If applicable, please suggest to reviewers how they can test the change.

I tested the two failing jobs on my fork, since test-sanitizers.yml no longer exists on main and therefore github doesn't allow workflow triggers. Compiler testing (test-cells), and run-san.

@KrystalDelusion KrystalDelusion marked this pull request as draft August 19, 2025 01:35
@KrystalDelusion

This comment was marked as outdated.

@KrystalDelusion

This comment was marked as outdated.

@KrystalDelusion

This comment was marked as outdated.

@KrystalDelusion KrystalDelusion marked this pull request as ready for review August 19, 2025 05:07
}
}
var.clk_en = find_single_cap(pdef.clken, cram.options, portopts, "clken");
var.clk_en = find_single_cap(pdef.clken, cram.options, portopts, "clken") != nullptr;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm morbidly curious why this change is required 🤔 Is something about how find_single_cap is declared interfering with the implicit conversion to bool?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actual fix is assigning a default value to PortVariant::clk_en, this change was incidental while investigating but it made sense to me to leave it in since it helps with readability.

@ShinyKate ShinyKate assigned mmicko and unassigned KrystalDelusion Aug 27, 2025
@mmicko mmicko merged commit c9a602e into YosysHQ:main Aug 28, 2025
26 checks passed
mmicko added a commit that referenced this pull request Aug 28, 2025
This reverts commit c9a602e, reversing
changes made to 51eaaff.
@widlarizer
Copy link
Collaborator

widlarizer commented Sep 1, 2025

I think this broke CI again oh it was reverted already so it's the LLVM 21 problem

KrystalDelusion added a commit to KrystalDelusion/yosys that referenced this pull request Sep 11, 2025
jix pushed a commit that referenced this pull request Sep 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants